package com.zjhd.sealcutting.service;

import com.zjhd.sealcutting.domain.WorksInfo;
import com.zjhd.sealcutting.param.WorksInfoSearchQuery;
import com.zjhd.sealcutting.utils.response.ResponseResult;
import com.zjhd.sealcutting.vo.SearchResult;
import com.zjhd.sealcutting.vo.WorksInfoVo;

import java.util.List;

/**
 * TODO  作品管理
 *
 * @author wangchao
 * @version 1.0
 * @date 2020/11/30 17:22
 */
public interface WorksInfoService {

    /**
     * TODO  作品列表查询
     * @author wangchao
     * @date 2020/12/1 15:34
     * @param
     * @return
     */
    SearchResult queryWorksInfoParamlist(WorksInfoSearchQuery param)throws Exception;

    /**
     * TODO  新增作品
     * @author wangchao
     * @date 2020/12/1 15:36
     * @param
     * @return
     */
    ResponseResult insertWorksInfo(WorksInfoVo worksInfoVo)throws Exception;

    /**
     * TODO  修改作品
     * @author wangchao
     * @date 2020/12/1 15:37
     * @param
     * @return
     */
    ResponseResult updateWorksInfo(WorksInfoVo worksInfoVo)throws Exception;

    /**
     * TODO  删除作品
     * @author wangchao
     * @date 2020/12/1 15:39
     * @param
     * @return
     */
    ResponseResult deleteWorksInfo(String id)throws Exception;

    /**
     * TODO  查询作品详情
     * @author wangchao
     * @date 2020/12/1 15:40
     * @param 
     * @return 
     */
    WorksInfoVo queryByIdWorksInfo(String id)throws Exception;

    /**
     * TODO 根据用户查询当前未投稿的作品
     * @author wangchao
     * @date 2020/12/3 13:38
     * @param
     * @return
     */
    List<WorksInfo> queryByCreaterIdWorks(Integer userId)throws Exception;

    /**
     * TODO  代传作品
     * @author wangchao
     * @date 2020/12/28 11:37
     * @param
     * @return
     */
    ResponseResult generationUploadWorksInfo(WorksInfoVo worksInfoVo)throws Exception;
}
